package main

import (
	"errors"
	"fmt"
)

func div(a, b int) (int, error) {
	if b == 0 {
		return 0, errors.New("除0异常") // errors 包New构建 error 类型的值
	}
	return a / b, nil
}

type MyInt int

func (*MyInt) Error() string {
	return "我乐意返回这个字符串"
}

func foo() (err error) {
	var x MyInt = 200
	err = &x // var err error = &x
	return   // err
}

func main() {
	if r, err := div(5, 0); err != nil {
		fmt.Println("有错误", err.Error())
		fmt.Println("有错误", err) // 默认调用 err 的类型 error 接口类型的Error() %v

	} else {
		fmt.Println("没有错误", r)
	}
}
